/*    */ package com.zimbra.cs.index.query;
/*    */ 
/*    */ import java.util.ArrayList;
/*    */ import java.util.List;
/*    */ import java.util.Set;
/*    */ import org.apache.lucene.analysis.Analyzer;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public final class AddrQuery
/*    */   extends SubQuery
/*    */ {
/*    */   public static enum Address
/*    */   {
/* 36 */     FROM,  TO,  CC;
/*    */     
/*    */     private Address() {} }
/*    */   
/* 40 */   private AddrQuery(List<Query> clauses) { super(clauses); }
/*    */   
/*    */ 
/*    */   public boolean hasTextOperation()
/*    */   {
/* 45 */     return true;
/*    */   }
/*    */   
/*    */   public static AddrQuery create(Analyzer analyzer, Set<Address> addrs, String text) {
/* 49 */     List<Query> clauses = new ArrayList();
/*    */     
/* 51 */     if (addrs.contains(Address.FROM)) {
/* 52 */       clauses.add(new TextQuery(analyzer, "from", text));
/*    */     }
/*    */     
/* 55 */     if (addrs.contains(Address.TO)) {
/* 56 */       if (!clauses.isEmpty()) {
/* 57 */         clauses.add(new ConjQuery(ConjQuery.Conjunction.OR));
/*    */       }
/* 59 */       clauses.add(new TextQuery(analyzer, "to", text));
/*    */     }
/*    */     
/* 62 */     if (addrs.contains(Address.CC)) {
/* 63 */       if (!clauses.isEmpty()) {
/* 64 */         clauses.add(new ConjQuery(ConjQuery.Conjunction.OR));
/*    */       }
/* 66 */       clauses.add(new TextQuery(analyzer, "cc", text));
/*    */     }
/*    */     
/* 69 */     return new AddrQuery(clauses);
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/index/query/AddrQuery.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */